#pragma once

#include <iostream>

namespace Core
{
	class NFile;
}

namespace Engine
{
	class NFileSystem
	{
	public:
		NFileSystem();

		~NFileSystem(void);
	
		virtual void Initialize();

		virtual void FileLoad(char ** buffer, const char* fileName);

		/*template<class T>
		void Load(const char* fileName) = 0;*/

		virtual void Load(const char* fileName);

	protected:
		virtual void FileClose(FILE* file);
		
		virtual void FileOpen(FILE** file, const char* fileName);
	};
}